import re
from playwright.sync_api import Page, expect
# 同步运行 playwright
from playwright.sync_api import sync_playwright  # 同步客户端库
# 如果是使用异步则调用asyns_api
import time
print(" 启动 playwright_ui driver 进程-------")
#with方法可以修改成p=sync_playwright（）.start（，但代码执行完成后浏览器不会自动关闭
# p = sync_playwright().start()
#创建一个pLaywright对象（使用with方法创建的好处：执行完成后会自动关闭浏览器）
with sync_playwright() as p:
    print("启动浏览器，返回 Browser 类型对象--------")
    browser = p.chromium.launch(headless=False)
    # 创建一个上下文（包含访问页面的相关信息，缓存信息）
    context = browser.new_context()
    print("创建新页面，返回 Page 类型对象,页面操作对象")
    page = context.new_page()
    page.goto("https://www.baidu.com/")
    page.get_by_role("textbox", name="外交部驳斥鲁比奥涉华言论").click()
    page.get_by_role("textbox", name="外交部驳斥鲁比奥涉华言论").fill("PO设计模式")
    page.get_by_role("button", name="百度一下").click()
    page.get_by_role("link", name="高级搜索").click()
    page.locator("#adv_keyword").click()
    page.locator("input[name=\"q6\"]").click()
    page.locator("input[name=\"q6\"]").fill("baidu")
    page.locator("input[name=\"q4\"]").click()
    page.locator("input[name=\"q4\"]").fill("")
    page.locator("#adv_keyword").click()
    page.locator("#adv_keyword").fill("po")
    with page.expect_popup() as page1_info:
        page.get_by_role("button", name="高级搜索").click()
    page1 = page1_info.value



